package com.cskaoyan.javase.operator.comparison4;

/**
 * @description: 比较运算符
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * > 什么是比较运算符
 *
 * - 比较运算符用来判断两个变量或者常量的大小
 * - 比较运算符是典型的二元运算符
 * - 注意：比较运算符和操作数组成的表达式的结果是一个boolean值( true或者false)
 *   - 也叫布尔表达式，结果是布尔类型的表达式就是布尔表达式
 *
 *  - 基本数据类型和基本数据类型比，引用数据类型和引用数据类型比
 * - “==”和“!=”可以用于引用数据类型之间相比较，其余比较运算符则不行
 *  当用==或者！=比较两个引用数据类型时，比的是内存地址
 * - 对于数值类型基本数据类型而言，纯粹比较运算符两边的操作数的值
 *   - 和数据类型无关，也不会发生数据类型转换
 *   - 对于浮点数而言，精度问题尤其重要
 *
 *
 */
public class Demo {
    public static void main(String[] args) {
        System.out.println(1 > 2); //false
        int a = 10;
        int b = 20;
        System.out.println(a > b); //false

        System.out.println(10 == 10.0); //true

        System.out.println("-------------");

        System.out.println(10.0F == 10.0); //true

        float f = 10.0F / 3;
        double d = 10.0 / 3;
        System.out.println(f == d); //false

        float f1 = 10-9.9f;
        System.out.println(f1);
        double d2 = 10-9.9;
        System.out.println(d2);
        System.out.println(f1 == d2);

        //关于这个==判断，大家一定要注意精度问题
        //实际上，因为精度问题，我们对浮点数进行比较判断，也不能使用==号

    }
}
